The end-user perceived performance of services provided by web-applications is influenced by various execution context factors including the type of service requested by the user, the web-browser used to send a request for the service and display the service result, the operating system used to execute the web-browser of the end user or the geographic location and the internet connection of the end user.
Monitoring systems capable to identify, trace and measure individual transaction executions starting from a web-browser side activity, over sending a response to a web-server, processing this request and returning a corresponding response and finally rendering the response on the web-browser, provide large sets of transaction specific measurement data that allow assessing performance and functionality of monitored transaction executions. This transaction trace data typically also contains, beside measurements, data describing the execution context of the monitored transactions.
The generated, execution context aware transaction trace and monitoring data enables to specify transaction categories that were performed in a similar execution context and thus are expected to show similar behavior in terms of performance and functionality. As those context factors are independent from each other, the maximal number of transaction categories is equal to the Cartesian product of the domains of the different context factors. The domains of the individual context factors may be moderate, as an example, the number of different web-browser or operating systems may range between 10 and 100 and the number of different geo locations may, depending on the desired granularity, range between several hundred to some thousands. Although the individual ranges of the context dimension seem manageable, the number of possible context factor combinations describing individual transaction categories quickly reaches a count that make it impractical or even impossible to monitor all of them.
However, the majority of those possible transaction categories either contains no transactions or contain not sufficient transactions to perform reliable statistical tests. It would be desired to identify and monitor only those transaction categories containing sufficient transactions, and in case of limited number category monitoring capacities, to also sort transaction categories according to the number of transactions contained in the categories and to select the categories showing the highest transaction frequency for monitoring.
The hierarchical structure of transaction context factors may be utilized to identify a set of transaction categories that is optimized to the requirements of statistical analyses and to restricted transaction category monitoring capacities.
In a simplified example, transactions may be received from different smaller geolocations like individual cities, and those transactions may be executed by web-browser of one specific type but with different versions. None of the most specific transaction categories may contain sufficient transactions for statistical analysis. It would now be intuitive to merge those specific transaction groups into more generic groups by e.g. grouping on the geolocation dimension on a state or country level instead of a city level or on a web-browser type level instead of a web-browser version level. In addition, it would be desired to optimally use the transaction category monitoring capacity of the monitoring system. In case e.g. the monitoring capacity would allow five additional categories and a category merge according to the geolocation dimension would result in three additional categories and merge according to the web-browser dimension would result in four additional categories, a merge according to web-browser dimension would be preferred as it would better use the category monitoring capacity of the monitoring system.
Consequently, a system and method is required that automatically identifies an optimized set of transaction categories containing the transaction categories with highest transaction frequency, while guaranteeing a minimum per category transaction frequency according to the requirements of used statistical analysis processes. In addition, the system should also maintain a maximum size of the transaction categories set to optimally use the capacities of the monitoring system.
As the transaction monitoring and tracing data is generated in real-time, and the monitoring system reports all transaction execution, a system that identifies an optimized set of transaction categories has to cope with a constant, high level input data stream. Consequently, a one pass process that analyzes each transaction trace only once to determine an optimized set of transaction categories is desired.
This section provides background information related to the present disclosure which is not necessarily prior art.